Interagir PHP com JavaScript [RESOLVIDO]

1. Interagir PHP com JavaScript [RESOLVIDO]

Fábio Felix Dias
slack felix

(usa Slackware)

Enviado em 07/03/2008 - 11:05h

Olá,

Estou desenvolvendo uma página web e preciso interagir PHP com JavaScript. Preciso fazer uma operação do tipo:

O .html chama uma função de um arquivo .js. Por sua vez esta função faz uma chamada de um arquivo .php para utilizar um função que está nele (o .php é carregado no lugar do .html). Agora a função do .php chama uma função do .js para retornar informações para o .js que serão utilizadas por este.

Os problemas são:

- Como chamar php em js e vice-versa?
- Como não carregar a página .php no lugar da .html?


Alguém pode me ajudar?
Desde já agradeço.



  


2. Posta

nb
nb-master

(usa Arch Linux)

Enviado em 07/03/2008 - 11:29h

Mande o seu script ae...



3. JavaScript + PHP

Josimar Zimermann
josimar

(usa Slackware)

Enviado em 07/03/2008 - 13:19h

É muito difícil tentar comprrender a sua questão sem ver os scripts.
Eu consigo, por exemplo, direcionar o fluxo de navegação para um arquivo PHP usando JavaScript. Para tanto bastaria o comando em JS:
window.location = "minha_pagina_em_php.php";
Para chamar o JS a partir do HTML você precisa associar a função JS a um dos eventos disponíveis para a TAG HTML em questão.
Para mais informações visite:
http://www.w3schools.com/js/default.asp

Se puderes mandar os scripts ou tentar resumi-los às partes relevantes para analisá-lo melhor.

Valeu.


4. Re: Interagir PHP com JavaScript [RESOLVIDO]

Fábio Felix Dias
slack felix

(usa Slackware)

Enviado em 07/03/2008 - 13:23h

Na verdade o script ainda não está pronto. Eu tive a idéia e estou juntando informações técnicas para começar. Mas a idéia é a seguinte:

Preciso ler/escrever em um arquivo .txt, só que javascript não faz isso. Dai vou usar php para fazer a leitura/escrita. Logo, vou precisar estar passando informações e chamando funções entre os dois.

Outra coisa, eu pretendo deixar tudo separado, as funções javascript em um arquivo e as php em outro e o html outro.



5. possivel posução

nb
nb-master

(usa Arch Linux)

Enviado em 07/03/2008 - 13:39h

Seria vc basear o seu scritp assim:

<?php

Script

?>
<html>
</html>

<?php

Script

?>

Td em uma pagina em .php

Entendeu? ond ta o HTML vc vai colocar normal como se fosse uma pagina em HTML e onde esta as tags PHP vc vai colocar os scripts em PHP


6. Separando JS, HTML e PHP

Josimar Zimermann
josimar

(usa Slackware)

Enviado em 07/03/2008 - 19:09h

Para separar os arquivos é mole. Já ouviu falar em Templates Smarty ?? http://www.smarty.net/

Suas funções JS podem ficar num arquivo .js e no arquivo HTML (ou .tpl caso opte por usar templates do Smarty), você pode referenciar o arquivo .js com algo do tipo:

<head>
<script language="JavaScript1.2" src="/meu_dir/meus_js/funcoes.js"></script>
</head>

Esta técnica torna toda a programação web mais organizada. Leia a documentação do Smarty para compreender melhor!

Valeu!


7. Re: Interagir PHP com JavaScript [RESOLVIDO]

Fábio Felix Dias
slack felix

(usa Slackware)

Enviado em 10/03/2008 - 10:37h

Olá pessoal,


Consegui usando Ajax, mas apareceu outro problema. Estou testando com esses códigos:

f.html

html>
<head>
<title>ARQUIVO PRINCIPAL</title>

<script src = "a.js" type="text/javascript"></script>
</head>
<body>
<script language = "javascript">
<!--
funcao();
//-->
</script>
</body>
</html>

a.js

function funcao()
{
var teste = null;

if(window.ActiveXObject)
{
teste = new ActiveXObject("Msxml2.DOMDocument.3.0");
teste.async = true;
teste.onreadystatechange = function () {
if(teste.readyState == 4)
alert(teste.responseText);
}
teste.load("b.php");
}
else
if(window.XMLHttpRequest)
{
teste = new XMLHttpRequest();
teste.onreadystatechange = function () {
if(teste.readyState == 4)
alert(teste.responseText);
}
teste.open("GET", "b.php" ,true);
teste.send(null);
}
else
alert("Ajax não pode ser rodado");


}

b.php

<?php
echo "TESTE PHP, AJAX";
?>


Em a.js, quando eu testo no IE 6 ou 7 o alert(teste.responseText); mostra undefined enquanto no Firefox apresenta o código php.

Dai eu só estou conseguindo manipular o que o php retorna no Firefox no IE não da certo.


8. Programação WEB

Josimar Zimermann
josimar

(usa Slackware)

Enviado em 10/03/2008 - 12:12h

Bem-vindo ao mundo da programação Web!
Este é só o começo! Essas coisas são comuns, porque os navegadores não seguem um padrão.
Procure referências na Internet e no site do W3C.
Qualquer dúvida estamos aqui!

Falou!


9. Re: Interagir PHP com JavaScript [RESOLVIDO]

Fábio Felix Dias
slack felix

(usa Slackware)

Enviado em 12/03/2008 - 00:30h

Finalmente,


Depois de quase jogar o meu computador contra a parede e desistir de vez de pensar na #!$@!$#@! do IE, encontrei uma forma para que os scripts anteriores funcionassem. Substitui o código de a.js por:

function funcao()
{
var teste = null;

if(window.ActiveXObject)
{
var versoes = ["Microsoft.XMLHttp", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Msxml2.DOMDocument.3.0"];

for(cont = 0; cont < versoes.length; cont++)
{
try
{
teste = new ActiveXObject(versoes[cont]);
break;
}
catch(e)
{
new Error("Seu browser nao suporta AJAX");
}
}

}
else
if(window.XMLHttpRequest)
teste = new XMLHttpRequest();

teste.open("GET","b.php",true);
teste.onreadystatechange = function (){
if(teste.readyState == 4)
alert(teste.responseText);
}
teste.send(null);

}

Mas o que me deixou mais intrigado foi que esse código, para o IE, não funciona se o alvo for um arquivo xml.

Que bom que esse problema acabou. Agora, é só esperar pelo próximo.

Até mais e obrigado pela ajuda.
Valeu


10. HAHAHA

Josimar Zimermann
josimar

(usa Slackware)

Enviado em 12/03/2008 - 00:39h

Aí brother!
É assim mesmo. As vezes eu tenho vontade de mandar os clientes jogarem o IE fora e usar outro Browser.
Paciência né ...

Valeu!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts